package com.observer.demo;

/***
 *  核心类
 *  天气服务，将天气情况推送给各个网站
 *  1 包含最新的天气情况
 *  2 含有CurrentConditions 通过调用该对象的方法去推送天气情况
 *  3 当数据更新的时候，主动调用 CurrentConditions的update方法推送新数据
 */
public class WeatherDataServer {

    private float temperature;
    private float pressure;
    private float humidity;

    //自己的网站 通过该对象去推送天气情况
    private CurrentConditions  currentConditions ;

    public WeatherDataServer(CurrentConditions currentConditions) {
        this.currentConditions = currentConditions;
    }

    //当数据变化时候通过 dataChange方法把最新的数据推送给对象
    public void dataChange(){
        currentConditions.update(temperature , pressure , humidity);
    }

    //得到环境温度 ，得到温度之后就推动给大家
    public void setData(float temperature , float pressure , float humidity){
        this.temperature = temperature ;
        this.pressure = pressure ;
        this.humidity = humidity ;
        //将最新的数据推送给第三方
        dataChange();
    }
}

